/*pub-2016-11-15*/
function ua() {
    var a = navigator.userAgent,
    b = !1,
    c = new RegExp(["iPad", "iPod", "iPhone", "SymbianOS", "Series60", "SymbOS", "Symbian", "MeeGo", "Android", "Windows Phone", "Windows CE", "BlackBerry", "BB10", "PlayBook"].join("|")),
    d = a.match(c),
    e = a.match(/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/);
    return d && (d = d[0]),
    e && (e = e[0]),
    (d && "" != d || e && "" != e) && (b = !0),
    b
}
function alimamatk_show(a) {
    var b = a,
    c = ua();
    "click" !== b.type || c ? "click" === b.type && c ? KSLITE.provide(["tkapi-mclick"],
    function(a) {
        b.ttype = 2,
        a("tkapi-mclick").run(b)
    }) : KSLITE.provide(["tkapi-main"],
    function(a) {
        a("tkapi-main").run(b)
    }) : KSLITE.provide(["tkapi-click"],
    function(a) {
        b.ttype = 1,
        a("tkapi-click").run(b)
    })
} !
function(a, b, c) {
    function d() {
        if (navigator.userAgent.indexOf("MSIE") < 0) return null;
        for (var a, b = l.getElementsByTagName("script"), c = 0, d = b.length; d > c; c++) if (a = b[c], "interactive" === a.readyState) return a;
        return null
    }
    var e = {
        lt_pkgs: {
            tkapi: "//alimama.alicdn.com/",
            packages: "http://alimama.alicdn.com/kslite/",
            charset: "utf8"
        },
        lt_v: "1.0.0",
        lt_t: "20130226.js"
    };
    if (a[b] !== c) {
        KSLITE.Config.lt_pkgs = KSLITE.mix(e.lt_pkgs, KSLITE.Config.lt_pkgs);
        var f = KSLITE.getScript;
        return void(KSLITE.getScript = function(a, b, c, d) {
            return a.indexOf("/tkapi/") ? f(a, b, "utf-8", d) : f(a, b, "gbk", d)
        })
    }
    a[b] = {};
    var g = a.KSLITEonLoad,
    h = a.KSLITEpkgPaths;
    b = a[b];
    var i = a.document,
    j = Object.prototype.toString,
    k = function(a, b, d, e) {
        if (!b || !a) return a;
        d === c && (d = !0);
        var f, g, h;
        if (e && (h = e.length)) for (f = 0; h > f; f++) g = e[f],
        g in b && (!d && g in a || (a[g] = b[g]));
        else for (g in b) ! d && g in a || (a[g] = b[g]);
        return a
    },
    l = i.getElementsByTagName("head")[0] || i.documentElement,
    m = 0,
    n = 2,
    o = 4,
    p = /\.css(?:\?|$)/i,
    q = i.createElement("script").readyState ?
    function(a, b) {
        var c = a.onreadystatechange;
        a.onreadystatechange = function() {
            var d = a.readyState; ("loaded" === d || "complete" === d) && (a.onreadystatechange = null, c && c(), b.call(this))
        }
    }: function(a, b) {
        a.addEventListener("load", b, !1),
        a.addEventListener("error", b, !1)
    };
    k(b, {
        version: e.lt_v,
        _init: function() {
            function c(a) {
                var b = a.split("@");
                e.lt_pkgs[b[0]] = b[1]
            }
            var d, f, j = i.getElementsByTagName("script");
            if (!window.KSLITEcurrentScript) for (d = 0; d < j.length; d++) if (j[d].kslite) {
                window.KSLITEcurrentScript = j[d];
                break
            }
            f = window.KSLITEcurrentScript || j[j.length - 1],
            window.KSLITEcurrentScript = f;
            var k = f.src.split("/").slice(0, -1).join("/") + "/";
            b.Env = {
                mods: {},
                fns: {},
                _loadQueue: {},
                _relies: {
                    rq: {},
                    sp: {}
                }
            },
            b.Config = {
                debug: "",
                base: k,
                timeout: 10,
                kslite: e
            },
            b.mix(b.Config, e),
            b.declare("kslite", [],
            function(a, c) {
                c = b.mix(c, b, !0, ["path", "log", "getScript", "substitute", "clone", "mix", "multiAsync", "extend", "iA", "iF", "iPO", "iS", "now"])
            }),
            b.provide(["kslite"],
            function() {
                b.require("kslite").log("kslite inited")
            }),
            b.Config.debug && (e.lt_t += (new Date).getTime() + ".js");
            var l;
            if (a.KSLITEpkgPaths = {
                push: function(a) {
                    c(a)
                }
            },
            h && b.iA(h)) for (l = 0; l < h.length; l++) c(h[l]);
            if (e.lt_t = a.KSLITEtimestamp || e.lt_t, a.KSLITEonLoad = {
                push: function(a) {
                    a && b.iF(a) && a(b)
                }
            },
            g && b.iA(g)) for (l = 0; l < g.length; l++) b.iF(g[l]) && g[l](b)
        },
        mix: k,
        log: function(d, e) {
            return b.Config.debug && a.console !== c && console.log && console[e && console[e] ? e: "log"](d),
            b
        },
        clone: function(a) {
            var c, d, e = a;
            if (a && ((c = b.iA(a)) || b.iPO(a))) {
                e = c ? [] : {};
                for (d in a) a.hasOwnProperty(d) && (e[d] = b.clone(a[d]))
            }
            return e
        },
        extend: function(a, b, c, d) {
            if (!b || !a) return a;
            var e = Object.prototype,
            f = function(a) {
                function b() {}
                return b.prototype = a,
                new b
            },
            g = b.prototype,
            h = f(g);
            return a.prototype = h,
            h.constructor = a,
            a.superclass = g,
            b !== Object && g.constructor === e.constructor && (g.constructor = b),
            c && k(h, c),
            d && k(a, d),
            a
        },
        substitute: function(a, d, e, f) {
            return b.iS(a) && b.iPO(d) ? a.replace(e || /\\?\{([^{}]+)\}/g,
            function(a, b) {
                return "\\" === a.charAt(0) ? a.slice(1) : d[b] !== c ? d[b] : f ? a: ""
            }) : a
        },
        getScript: function(a, d, e, f) {
            var g, h, j, k, m = p.test(a),
            n = i.createElement(m ? "link": "script"),
            o = d;
            if (b.iPO(o) && (d = o.success, g = o.error, h = o.timeout, e = o.charset), m ? (n.href = a, n.rel = "stylesheet") : (n.src = a, n.async = !0), e && (n.charset = e), f) for (k in f) n.setAttribute(k, f[k]);
            return b.iF(d) && (m ? d.call(n) : q(n,
            function() {
                j && (clearTimeout(j), j = c),
                d.call(n)
            })),
            b.iF(g) && (j = setTimeout(function() {
                j = c,
                g()
            },
            1e3 * (h || b.Config.timeout))),
            l.insertBefore(n, l.firstChild),
            n
        },
        iF: function(a) {
            return "[object Function]" === j.call(a)
        },
        iA: function(a) {
            return "[object Array]" === j.call(a)
        },
        iS: function(a) {
            return "[object String]" === j.call(a)
        },
        iPO: function(a) {
            return a && "[object Object]" === j.call(a) && !a.nodeType && !a.setInterval
        },
        now: function() {
            var b = a.performance || {},
            c = function() {
                return (new Date).getTime()
            };
            try {
                return b.now ? b.now.bind(b) : Date.now ? Date.now.bind(Date) : c
            } catch(d) {
                return c
            }
        } (),
        add: function(a, c, d) {
            var e, f = b.Env.mods;
            if (! (f[a] && f[a].status > m)) return e = {
                name: a,
                fn: c || null,
                status: n
            },
            b.iA(d) && (d = {
                requires: d
            }),
            k(e, d),
            f[a] = e,
            b
        },
        use: function(a, c) {
            a = a.split(",");
            b.Env.mods;
            b._aMs(a,
            function() {
                c && c(b)
            })
        },
        _aMs: function(a, c) {
            var d, e = {};
            for (d = 0; d < a.length; d++) e[a[d]] = {
                f: b._aM,
                a: a[d]
            };
            b.multiAsync(e, c)
        },
        _aM: function(a, c) {
            function d(a) {
                a.status != o && (a.fn ? (b.log("attach " + a.name), a.fn(b, b.require(a.name), b._ns(a.name))) : b.log("attach " + a.name + " without expected attach fn!", "warn"), a.status = o),
                c()
            }
            function e(a) {
                function b(a) {
                    return i[a] = i[a] || {},
                    j[a] = j[a] || {},
                    a
                }
                var c, d, e, f;
                for (d = b(a.name), c = 0; c < a.requires.length; c++) {
                    e = b(a.requires[c]),
                    i[d][e] = 1,
                    j[e][d] = 1;
                    for (f in j[d]) i[f][e] = 1,
                    j[e][f] = 1
                }
            }
            var f, g, h = b.Env.mods,
            i = b.Env._relies.rq,
            j = b.Env._relies.sp;
            if (f = h[a], f && f.status !== m) if (g = f.requires, b.iA(g) && g.length > 0) {
                if (e(f), i[a][a]) throw new Error("Fatal Error,Loop Reqs:" + f.name);
                b.log(f.name + " to req: " + g),
                b._aMs(g,
                function() {
                    d(f)
                })
            } else d(f);
            else f = {
                name: a
            },
            b._lM(f,
            function() {
                b._aM(a,
                function() {
                    d(h[a])
                })
            })
        },
        _lM: function(a, d) {
            var e, f = b.Env._loadQueue,
            g = a.name,
            h = b.Env.mods;
            if (f[g]) e = f[g],
            e.c ? (b.log(g + " is already loaded", "warn"), d()) : (b.log(g + " is loading,listen to callback"), e.fns.push(d));
            else {
                if ("undefined" != typeof f[g]) try {
                    f[g].fns.push(d)
                } catch(i) {
                    f[g].fns = [d]
                } else f[g] = {
                    fns: [d],
                    c: !1
                };
                b._gPath(a,
                function() {
                    h[g] || (h[g] = {
                        name: g,
                        status: m
                    });
                    var d;
                    d = a.fullpath.indexOf("/tkapi/") ? "utf-8": "gbk",
                    b.getScript(a.fullpath,
                    function() {
                        var a, d, e = f[g];
                        for (b.__m__ && (d = b.__m__, b.add(g, d.fn, d.deps), b.__m__ = null), h[g].status === m && (h[g].status = n), a = 0; a < e.fns.length; a++) e.fns[a]();
                        e.c = !0,
                        e.fns = c
                    },
                    d, {
                        mod_name: g
                    })
                })
            }
        },
        path: function(a, c) {
            var d = a.split("-"),
            e = d[0],
            f = b.Config.lt_pkgs;
            b.iS(f[e]) ? c(f[e] + d.join("/")) : KSLITE.provide(["packages-router"],
            function(a) {
                var f = a("packages-router");
                c((f[e] || b.Config.base) + d.join("/"))
            })
        },
        _gPath: function(a, c) {
            b.path(a.name,
            function(d) {
                a.fullpath = d + ".js?_t=" + e.lt_t,
                b.log("path " + a.name + ": " + a.fullpath),
                c()
            })
        },
        multiAsync: function(a, c) {
            function d() {
                var b, d = {};
                for (b in a) {
                    if (!a[b].c) return;
                    d[b] = a[b].r
                }
                c(d)
            }
            var e, f = !1;
            for (e in a) f = !0;
            f || c({});
            for (e in a) !
            function() {
                var c = a[e];
                c.f.call(c.c || b, c.a,
                function(a) {
                    c.r = a,
                    c.c = !0,
                    d()
                })
            } ()
        },
        _ns: function(a) {
            var c, d = a.split("-"),
            e = b.Env.fns;
            for (c = 0; c < d.length; c++) e[d[c]] = e[d[c]] || {},
            e = e[d[c]];
            return e
        },
        require: function(a) {
            var c = b._ns(a);
            return c.exports = c.exports || {},
            c.exports
        },
        declare: function() {
            var a, c, e, f, g, h;
            for (c = 0; c < arguments.length; c++) e = arguments[c],
            b.iS(e) ? f = e: b.iA(e) ? g = e: b.iF(e) && (h = e);
            f || (a = d(), a && (f = a.getAttribute("mod_name") || !1)),
            f ? b.add(f,
            function(a, b, c) {
                h(a.require, b, c)
            },
            g) : b.__m__ = {
                deps: g,
                fn: function(a, b, c) {
                    h(a.require, b, c)
                }
            }
        },
        provide: function(a, c) {
            b.use(a.join(","),
            function(a) {
                c(a.require)
            })
        }
    }),
    b._init()
} (window, "KSLITE"),
function(a, b) {
    var c = a.alimamatk_onload;
    a.alimamatk_onload = {
        push: function(a) {
            a && b.iPO(a) && alimamatk_show(a)
        }
    },
    c && b.iA(c) && b.iPO(c[0]) && alimamatk_show(c[0])
} (window, KSLITE);